All software applications have bugs. The bugs may consist of an error, flaw, mistake, failure, or fault that produces an incorrect or unexpected result, or causes the software application to behave in unintended ways. Test organizations normally try to eliminate all bugs before software is released. But as software becomes more complex and more ubiquitous, the number of bugs increases and it becomes more unlikely that all or even most bugs will be found before the software application is released. Additionally, there are some times when a quick release of software applications and/or services is necessary, resulting in fewer bugs being caught prior to the release and an increased likelihood that a customer will discover a bug.
Traditionally, technical support organizations have helped customers with problems reactively by fixing a bug after a customer finds the bug in the released software. However, one of the worse scenarios for the software developers, especially in a services product, is for a customer to discover a bug. When software is created for a services product, the quality of the service is the primary problem encountered by the service marketing. Therefore, it would be advantageous to provide a method for identifying and providing the ability to fix the bugs after the software application is released, but prior to a customer's discovery of the bug.